索引
动画控制器事件 |
---|
动画事件 |
动画注释 |
事件 |
总注解 |
动画控制器事件
动画控制器可以在进入或退出状态时触发事件。在状态进入时触发的事件位于 “on_entry” 部分,退出时触发的事件位于 “on_exit” 部分。动画事件
动画可以具有专用于事件的时间轴。“timeline” 部分包含事件时间轴列表。以下是特定时间可以触发单个事件或事件数组的各种示例:动画注释
实体事件发生在动画中,通常发生在客户端上(通过资源包),但也可能发生在服务器上(通过行为包)。由于游戏的服务器端没有视觉方面,因此显然不会出现基于骨骼的动画。 但是,传统动画基本上是事件的时间轴,事件是动画视觉绑定的骨骼位置,用于移动实体的视觉形状。 基岩版动画系统的机制是状态机 (Animation Controllers) 和时间轴 (Animations)。 这些概念直接应用于事件的触发,因此动画系统可以在服务器上执行(不包括视觉方面),目的是驱动实体事件。要在服务器上(在行为包中)使用实体事件,请像向资源包添加动画控制器和动画一样,将动画控制器和动画添加到行为包中。 将动画和动画控制器添加到实体描述字段中的 “animations” 部分。 这些动画和动画控制器将在服务器上运行,就像它们在资源包中的客户端上运行一样。 添加带有 “animate” 子部分的 “scripts” 部分,以指定要运行的动画/动画控制器。客户端 (资源包) 事件不需要特殊设置,因为客户端实体通常已经具有动画和动画控制器。 只需在动画或动画控制器中将事件添加到需要的位置即可。事件
事件由三个类别组成,均由字符串表示:- Entity events(实体事件)- Slash Commands(斜杠命令)- Molang Expressions(MoLang表达式)详细地:实体事件:仅限服务端(行为包)。目前,我们只支持实体事件 self,这些事件采用 “@s event” 的形式。这些是在实体定义文件的 events 部分中声明的事件。例如,在cat.json中,“minecraft:ageable_grow_up”事件会导致小猫长大。这将采用 “@s minecraft:ageable_grow_up” 的形式斜杠命令:仅限服务端(行为包)。可以调用任何斜杠命令,例如 “/particle minecraft:example_smoke_puff ~ ~ ~”。斜杠命令的假定实体是调用实体,因此此特定斜杠命令将在实体的位置生成烟雾喷气效果。Molang 表达式:这将执行 Molang 表达式。主要用途是设置以后可以使用的 Molang 变量。例如,状态转换可能正在查看一个特定的 Molang 变量,而此表达式可能会更改该变量。实体上的粒子效果可能会因效果用于颜色色调的 Molang 变量而更改颜色。用于移动手臂的动画可能会使用由动画事件设置的 Molang 变量。总注解
本文档包含通过实体.json数据驱动各种事件的详细信息。实体事件可以进入行为包和资源包。行为包使用与资源包中相同的动画和动画控制器设置,尽管实体.json本身使用不同的方法来激活动画。实体事件是在 Bedrock 引擎中推动游戏和实体状态更改的一种方式。这些事件通常可以包括斜杠命令(仅限行为包)、实体事件(例如,成为成年人)和 Molang 表达式(例如,在特定实体上将 Molang 变量 “variable.foo” 设置为 3)。Animation 和 Animation controllers 提供了一种驱动实体的状态机和时间轴的方法。例如,特定的动画控制器可能处于特定状态,并运行特定的动画,我们希望在进入/退出该状态时触发事件。或者,一个 “animation” 可能正在运行,我们希望在该动画期间触发事件。实体事件时间线机制使这成为可能。返回顶部